package com.yungu.swift.system.sys.model.vo;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.yungu.swift.system.sys.model.dto.SysResourceDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author : cuixiuyin
 * @date : 2019/6/13
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel
public class AdminLoginVo implements Serializable {

    @ApiModelProperty(value = "用户名称")
    private String userName;

    @ApiModelProperty(value = "用户账号")
    private String userAccount;

    @ApiModelProperty(value = "用户类型 0 管理员 1主账号 2 子账号")
    private Integer userType;

    @ApiModelProperty(value = "头像")
    private String face;

    @ApiModelProperty(value = "访问 token")
    private String accessToken;

    @ApiModelProperty(value = "刷新 token")
    private String refreshToken;

    @ApiModelProperty(value = "过期时间")
    private Date expiration;

    @ApiModelProperty(value = "基础业务")
    private List<BusinessVo> baseBusinesses;

    @ApiModelProperty(value = "扩展业务")
    private List<BusinessVo> expandBusinesses;

    @ApiModelProperty(value = "全部资源列表")
    List<SysResourceDto> resourceList;

    @ApiModelProperty(value = "资源树")
    private List<SysResourceDto> treeResource;

    @ApiModelProperty(value = "隐藏的按钮资源")
    private List<SysResourceDto> hideBtns;

    @ApiModelProperty(value = "用户级别 1平台 2 代理 3公司")
    private Integer userLevel;

}
